﻿var editorBlogActivo = false;
var uploaderGaleria = null;
var idGaleriaPost = 0;

function CerrarEditorBlog() {
    $('#ContenedorEditorContenido').remove();
    $('#FileUploaderButton').remove();
    $(".AjaxFileUploader").remove();
    $('.article, #CommentsContainer').show();
    $('iframe').hide();
    editorBlogActivo = false;
    $("#newPostButton, #newPostButton2").show();
}

function procesarRespuestaBlog(data) {
    if ($(data).find("Success").length != 0) {
        $(data).find("BlogItem").each(function () {

            if ($('#urlEntry').val() != null) {
                $("#TituloPost").html($(this).find("title").text());
                //alert($(this).find("title").text());
                var contenidoNuevo = $.fck.content('textoEdicionContenido');
                var contenidoNuevoExtra = $.fck.content('textoEdicionContenidoExtra');
                $("#contenidoInicial").html(contenidoNuevo);
                $("#contenidoExtra").html(contenidoNuevoExtra);
                var listaTags = "";
                var listaCategorias = "";
                $(this).find("Tag").each(function (i) {
                    listaTags = listaTags + " <a href='/Tag/" + $(this).find("SystemName").text() + "'>" + $(this).find("NombreTag").text() + "</a>,";
                });
                $(this).find("Categoria").each(function (i) {
                    listaCategorias = listaCategorias + " <a href='/Tag/" + $(this).find("SystemName").text() + "'>" + $(this).find("NombreCategoria").text() + "</a>,";
                });
                $("#CategoriasEntry").html(listaCategorias);
                $("#TagsEntry").html(listaTags);
                CerrarEditorBlog();
                alert("Post Actualizado");
            }
            else {
                //alert($(this).find("pubDate").text());
                var plantilla = $("#PlantillaPost").html();
                $("#MainBlogContainer").prepend(plantilla);
                $("#MainBlogContainer #TituloPost").html("<a href='" + $(this).find("link").text() + "'>" + $(this).find("title").text() + "</a>").attr("id", "");
                $("#MainBlogContainer #FechaPost").html(dateFormat(Date($(this).find("pubDate").text()), "fullDate")).attr("id", "");
                var contenidoNuevo = $.fck.content('textoEdicionContenido');
                $("#MainBlogContainer #DescripcionPost").html(contenidoNuevo).attr("id", "");
                var listaTags = "";
                var listaCategorias = "";
                $(this).find("Tag").each(function (i) {
                    listaTags = listaTags + " <a href='/Tag/" + $(this).find("SystemName").text() + "'>" + $(this).find("NombreTag").text() + "</a>,";
                });
                $(this).find("Categoria").each(function (i) {
                    listaCategorias = listaCategorias + " <a href='/Tag/" + $(this).find("SystemName").text() + "'>" + $(this).find("NombreCategoria").text() + "</a>,";
                });
                $("#MainBlogContainer #CategoriasEntry").html(listaCategorias).attr("id", "");
                $("#MainBlogContainer #TagsEntry").html(listaTags).attr("id", "");
                $("#MainBlogContainer #Autor").html("<a href='/Autor/" + $(this).find("author").text() + "'>" + $(this).find("author").text() + "</a>").attr("id", "");
                CerrarEditorBlog();

                alert("\"" + $(this).find("title").text() + "\" Guardado Correctamente en el sistema");
            }
        });
    }
}

function ActivarEditorBlog() {
    alert();
    if (!editorBlogActivo) {
        $("#newPostButton, #newPostButton2").hide();
        $('.article, #CommentsContainer').hide();
        //Creando el Formulario para edicion de contenido
        var divContenedor = $.create("div", {
            "id": "ContenedorEditorContenido",
            "style": "display:table; margin-bottom:40px;width:100%;"
        });
        var formulario = $.create("form", {
            "id": "FormContenido",
            "style": "display:none1;",
            "target": "_blank",
            "enctype": "text/plain",
            "method": "post"
        });
        var inputTitulo = $.create("input", { "id": "tituloContenido",
            "name": "tituloContenido",
            "type": "text",
            "style": "border:0px; width:100%;font-size:24px;",
            "title": "Titulo Editable",
            "class": "required"
        });
        $(inputTitulo).css("font-family", $('#TituloPost').css("font-family")).css("font-size", $('#TituloContent').css("font-size")).css("font-weight", $('#TituloContent').css("font-weight")).example("Coloque un titulo al Post");

        var inputnombreContenido = $.create("input", {
            "id": "urlEntryEdit",
            "name": "urlEntryEdit",
            "type": "hidden"
        });
        var inputContentEncoded = $.create("input",
            { "id": "ContentEncoded",
                "name": "ContentEncoded",
                "type": "hidden"
            });
        var contenedorEditor = $.create("div",
            {
                "id": "divEditor",
                "style": "width:100%;display:table;"

            });

        var contenedorKeyWords = $.create("div",
        {
            "id": "contenedorKeywordsContenido",
            "style": "width:100%; margin-bottom:5px;margin-top:5px;"
        });

        var listaTags = $.create("select",
        {
            "id": "listaTags",
            "name": "listaTags"
        });

        var listaTagsActuales = $('#TagsActuales').text();
        var listaTagsActuales2 = listaTagsActuales.split(',');
        for (x = 0; x < listaTagsActuales2.length; x++) {
            $(listaTags).append("<option value='" + listaTagsActuales2[x] + "' class='selected'>" + listaTagsActuales2[x] + "</option> ");
        }

        var listaCats = $.create("select",
        {
            "id": "listaCats",
            "name": "listaCats"
        });

        var listaCatsActuales = $('#CategoriasActuales').text();
        var listaCatsActuales2 = listaCatsActuales.split(',');
        for (x = 0; x < listaCatsActuales2.length; x++) {
            $(listaCats).append("<option value='" + listaCatsActuales2[x] + "' class='selected'>" + listaCatsActuales2[x] + "</option> ");
        }

        $(contenedorKeyWords).append("Categorias:").append(listaCats).append("Tags:").append(listaTags);

        var inputTextoEdicionContenido = $.create("textarea", {
            "id": "textoEdicionContenido",
            "name": "textoEdicionContenido",
            "style": "display:none;height:400px;"
        });
        var inputTextoEdicionContenidoExtra = $.create("textarea", {
            "id": "textoEdicionContenidoExtra",
            "name": "textoEdicionContenidoExtra",
            "style": "display:none;height:400px;"
        });
        var divajaxContentLoader = $.create("div", {
            "id": "ajaxContentLoader",
            "style": "display:none;"
        });
        var inputbotonEditarSeccion = $.create("input", {
            "id": "botonEditarSeccion",
            "name": "botonEditarSeccion",
            "value": "Guardar Cambios",
            "type": "button",
            "onclick": "ActivarEditorContenido()"
        });
        var inputcancelarSeccion = $.create("input", {
            "id": "cancelarEdicion",
            "name": "cancelarEdicion",
            "value": "Cancelar",
            "type": "button",
            "onclick": "CerrarEditorContenido()"
        });

        var inputUploadImage = $.create("div", {
            "id": "FileUploaderButton",
            "title": "Presione aqui para subir una imagen al servidor",
            "style": "width:230px; height:50px; " +
            //"margin-left:auto;margin-right:auto; " +
         "text-align:center; vertical-align:middle; " +
         "background-image:url(/images/AddImage.png); " +
         "background-position:left; background-repeat:no-repeat;position:absolute; left:0px;top:0px;"
        });

        var inputUploadImage2 = $.create("div", {
            "id": "FileUploaderButton2",
            "title": "Presione aqui para subir una imagen al servidor",
            "style": "width:230px; height:50px; " +
            //"margin-left:auto;margin-right:auto; " +
         "text-align:center; vertical-align:middle; " +
         "background-image:url(/images/AddImage.png); " +
         "background-position:left; background-repeat:no-repeat;position:absolute; left:180px;top:0px;"
        }); ;


        var divBotones = $.create("div", {
            "id": "contenedorBotonesEditor",
            "style": "width:100%; padding:10px;position:relative;"
        });
        var divBotones2 = $.create("div", {
            "id": "contenedorBotonesEditor",
            "style": "width:350px; padding:10px; position:absolute; right:15px; top:0px; text-align:right;"
        });


        $(divBotones2).append(inputbotonEditarSeccion).append(inputcancelarSeccion);
        $(divBotones).append(inputUploadImage).append(inputUploadImage2).append(divBotones2);
        $(contenedorEditor).append(inputTextoEdicionContenido).append(inputTextoEdicionContenidoExtra);
        $(formulario).append(inputTitulo).append(inputnombreContenido).append(inputContentEncoded).append(contenedorEditor).append(contenedorKeyWords).append(divBotones);
        //Agregando el Formulario al DOM
        $(divContenedor).append(formulario).append(divajaxContentLoader);
        $("#MainBlogContainer").append(divContenedor);
        //Cargamos los Datos Existentes en la pagina
        if ($('#TituloPost').text() != ".")
            $("#tituloContenido").val($('#TituloPost').text());
        $("#urlEntryEdit").val($('#urlEntry').val())
        $('#textoEdicionContenido').text($('#contenidoInicial').html());
        $('#textoEdicionContenidoExtra').text($('#contenidoExtra').html());
        $('#textoEdicionContenido, #textoEdicionContenidoExtra').fck({ height: 400 });
        $('#botonEditarSeccion').val('Guardar Entry').hover(function () { $(".example").removeClass("example").val(""); }, function () {
            $('#tituloContenido').example("Coloque un titulo al Post");
        }).click(function () { $('#FormContenido').submit(); });
        $("input:button").button();
        //Mostramos el Formulario
        $('#FormContenido').show();
        $('#tituloContenido').tipsy({ gravity: 's' });
        $("#listaTags").fcbkcomplete({
            json_url: "/blog/Json/Tags",
            addontab: true,
            newel: true,
            complete_text: "Escribe los Tags.",
            height: 5,
            cache: true,
            filter_selected: true,
            maxshownitems: 10,
            maxitems: 1000
        });
        $("#listaCats").fcbkcomplete({
            json_url: "/blog/Json/Categorias",
            cache: true,
            addontab: true,
            newel: true,
            maxshownitems: 10,
            filter_selected: true,
            maxitems: 1000,
            complete_text: "Escribe las Categorias.",
            height: 5

        });
        $(".holder").css("width", "");

        // $('#FileUploaderButton').tipsy();

        var options = {
            dataType: 'xml',
            target: '#ajaxContentLoader',
            //            beforeSubmit: showRequestCliente,  // pre-submit callback 
            success: procesarRespuestaBlog,  // post-submit callback 
            //            error: ShowError

            url: "/Blog/Edit/"
        };
        //        $('#FormContenido').validate({
        //            invalidHandler: AlertaDatosObligatorios
        //        });
        $('#FormContenido').validate();
        $('#FormContenido').ajaxForm(options);
        CargadorArchivos('FileUploaderButton', '/Handlers/Upload/', 'textoEdicionContenido');
        CargadorArchivos('FileUploaderButton2', '/Handlers/Upload/', 'textoEdicionContenidoExtra');
        editorContenidoActivo = true;
        ActivarPanelGalerias("#ContenedorEditorContenido");
    }
    else {
        //Guardando el Contenido en la base de datos
        Encoder.EncodeType = "entity";
        var contenidoNuevo = $.fck.content('textoEdicionContenido');
        var Encoded = Encoder.htmlEncode(contenidoNuevo, true);
        $('#ContentEncoded').val(Encoded);

        var tituloNuevo = $('#tituloContenido').val();
        $('#FormContenido').submit();
        $('#SectionContent').html(contenidoNuevo);
        $('#TituloContent').text(tituloNuevo);
        $('#contentKeywords').val($('#palabrasClave').val());
        editorBlogActivo = false;
    }


}

var parametrosUploadGaleria = "newGaleria=true&nombreGaleria=Galeria de Prueba&descripcionGaleria=descripcion";

function ActivarPanelGalerias(idPanelContenedor) {
    var divContenetor = $.create("div", {
        "id": "contenedorGalerias",
        "class": "conteGalerias",
        "style":"display:table;"
    })
    var inputUploadImage = $.create("div", {
        "id": "FileUploaderGaleria",
        "title": "Presione aqui para colocar imagenes en galeria",
        "style": "width:230px; height:50px; " +
        //"margin-left:auto;margin-right:auto; " +
         "text-align:center; vertical-align:middle; " +
         "background-image:url(/images/AddImage.png); " +
         "background-position:left; background-repeat:no-repeat;position:absolute; left:0px;top:0px;"
    });



    $(divContenetor).append(inputUploadImage);

    $(idPanelContenedor).append(divContenetor);
    CargadorArchivosGaleria('FileUploaderGaleria', '/Handlers/Upload/', '');

}



function CargadorArchivosGaleria(botonUpload, uploadHandler, editor) {

    uploaderGaleria = new qq.FileUploader({
        // pass the dom node (ex. $(selector)[0] for jQuery users)
        element: document.getElementById(botonUpload),

        // path to server-side upload script
        action: uploadHandler,
        params: { newGaleria: 'true', nombreGaleria: 'probando Galeria', descripcionGaleria: 'descripcion de la galeria' },
        debug: true,
        messages: {
            // error messages, see qq.FileUploaderBasic for content
        },
        onComplete: function (id, fileName, responseJSON) {
            idGaleriaPost = responseJSON.Obj.idCategoria;
            uploaderGaleria.setParams({idGaleria:idGaleriaPost});
        },
        showMessage: function (message) { alert(message); }
    });
    
}